/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package argtrust.belief;

import aima.core.logic.fol.parsing.ast.Sentence;

import argtrust.trustnet.Agent;
import argtrust.logic.InferenceRule;
import argtrust.argsys.Argument;
import argtrust.argsys.Defeat;
import argtrust.measure.Measure;
import argtrust.measure.IMeasureOperators;
/**
 *
 * @author Yuqing Tang
 */
public interface ITrustBeliefSemantics {

    public Measure believe(Agent agent, Object obj);
//    public Measure believe(Agent agent, Sentence sentence);
//    public Measure believe(Agent agent, InferenceRule inf_rule);
    public IMeasureOperators getOperators();

    //We might need the following to generalize the model:
//    /**
//     * "agent" trusts "other" on "sentence" with a belief of "BeliefResutl"
//     * @param agent
//     * @param other
//     * @param sentence
//     * @return Belief result
//     */
//    public Measure believe(Agent agent, Agent other, Sentence sentence);
//   /**
//     * "agent" trusts "other" on "inf_rule" with a belief of "BeliefResutl"
//     * @param agent
//     * @param other
//     * @param sentence
//     * @return Belief result
//     */
//     public Measure believe(Agent agent, Agent other, InferenceRule inf_rule);

}
